#ifndef DESCR_STRAT_PARSER_H
#define DESCR_STRAT_PARSER_H


#include "descr/descr_parser.h"
#include "faction.h"
#include "character.h"
#include "region.h"


class DescrStratParser : public DescrParser
{
protected:	
	bool parse(std::string line);

private:
	enum
	{
		NONE,
		PLAYABLE,
		NONPLAYABLE,
		SETTLEMENT,
		BUILDING
	} state;

	std::shared_ptr<Faction>   parsingFaction;
	std::shared_ptr<Region>    parsingRegion;
	std::shared_ptr<Character> parsingCharacter;

	std::string parsingSettlementTypeID;
	bool        parsingIsCastle;
};

#endif